Depurar codigo Visual Studio

Descripción

Como utilizar Breakpoints en visual studio para depurar el código.

Establecer Breakpoints

Para establecer un breakpoint podemos hacerlo de dos maneras:

Watches

Una vez tenemos puesto los breakpoint al ejecutar el programa en modo depuración cuando se alcance cierto breakpoint podemos usar la ventana Watch para visualizar ciertos valores del programa.

Para contiunar la ejecución del programa hacemos click en Continue o pulsamos F5:

NOTA: Cuando se alcanza un breakpoint la línea en la que se para la ejecución todavía no se ha ejecutado, esa será la siguiente linea en ejecutarse, en el ejemplo anterior el Console.WriteLine todavía no se ha ejecutado (no se ha mostrado nada por pantalla).

Ejecución linea a linea

Una vez se ha alcanzado un breakpoint podemos hacer una ejecución linea a linea para ir viendo la ejecución del programa poco a poco.

Las funciones que tenemos para hacer una ejecución linea a linea son las siguientes:

Breakpoints con excepciones

Para poner breakpoints en las excepciones abrimos la ventana de Exception Settings:

En la ventana de Exception Settings marcamos las excepciones que queramos que tengan un break point, de manera que cuando se lanzen dichas excepciones la aplicación parará la ejecución como si se tratase de un breakpoint en la linea concreta en la que se lanza la excepción:

En este caso marcamos la excepción System.Net.WebException. Al ejecutar el proyecto en modo depuración, la ejecución se detiene cuando se lanza la excepción a pesar de que no tenemos colocado ningún breakpoint en esa linea:

Breakpoints condicionales

Para poner breakpoints condicionales hacemos click derecho sobre la linea en la que queramos poner el breakpoint y seleccionamos Insert Conditional Breakpoint:

y en el formulario que se muestra metemos la condición que queremos que se cumpla para que se lance la excepción:

En este caso el breakpoint se lanzará siempre que la variable numero sea igual a 7.

Podemos usar otras condiciones para que se lanze el breakpoint como por ejemplo el Hit Count para que se lance solo cuando se haya pasado X veces por ese breakpoint.

Acciones al pasar por un breakpoint

Las acciones en los breakpoints nos permiten ejecutar acciones al lanzar los breakpoints, generalmente la acción que se lanza es la de mostrar algo por consola.

Para añadir una accion en un breakpoint añadimos un Tracepoint haciendo click derecho en la linea en la que queremos colocar el tracepoint y seleccionamos Insert Tracepoint:

En el formulario que se abre introducimos la expresion que queremos que se muestre por pantalla entre llaves {}, en el siguiente ejemplo mostramos la variable numero por consola:

Tambien podemos usar expresiones concretas del Visual Studio para mostrar información por pantalla, por ejemplo $HITCOUNT es una expresion que nos permite ver cuantas veces se ha alcanzado un breakpoint:

Al ejecutar el código vemos la siguiente salida:

Tags

Visual Studio | BreakPoints | Depuracion